package com.itheima.homework.assignment.Test02;

import java.util.*;

/**
 * 彩票双色球规则：
 * 双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。
 * 红色球号码从1~33中选择；蓝色球号码从1~16中选择；
 * 请结合集合所学知识，随机生成一注双色球号码，要求同色号码不重复
 */
public class Test {
    public static void main(String[] args) {
        //1.创建Random随机数对象
        Random r = new Random();

        //2.创建HashSet用于保存不重复的红球
        HashSet<Integer> hs = new HashSet<>();

        //3.循环判断红球数量是否小于6个
        while (hs.size() < 6) {
            //4.球数量小于6个就产生一个红球.添加到HashSet中
            //5.如果产生重复号码，往HashSet里添加不进去，所以会再次生成号码
            int num = r.nextInt(33) + 1;
            hs.add(num);
        }

        //6.创建ArrayList集合
        ArrayList<Integer> list = new ArrayList<>();
        for (Integer element : hs) {
            list.add(element);
        }

        //7.排序
        Collections.sort(list);

        //8.再生成一个蓝球
        int blue = r.nextInt(16) + 1;

        //9.打印中奖号码
        System.out.println("双色球中奖号码为：");
        System.out.print("红球：");
        for (Integer red : list) {
            System.out.print(red + " ");
        }
        System.out.println();
        System.out.println("蓝球：" + blue);
    }
}
